import type { Artifact } from "hardhat/types/artifacts";

export const CONTRACT: Artifact = {
  _format: "hh3-artifact-1",
  contractName: "GreeterWithConstructorArg",
  sourceName: "contracts/GreeterWithConstructorArg.sol",
  abi: [
    {
      inputs: [
        {
          internalType: "string",
          name: "initialString",
          type: "string",
        },
      ],
      payable: false,
      stateMutability: "nonpayable",
      type: "constructor",
    },
    {
      anonymous: false,
      inputs: [
        {
          indexed: false,
          internalType: "string",
          name: "greeting",
          type: "string",
        },
      ],
      name: "GreetingUpdated",
      type: "event",
    },
    {
      constant: true,
      inputs: [],
      name: "greet",
      outputs: [
        {
          internalType: "string",
          name: "",
          type: "string",
        },
      ],
      payable: false,
      stateMutability: "view",
      type: "function",
    },
    {
      constant: false,
      inputs: [
        {
          internalType: "string",
          name: "_greeting",
          type: "string",
        },
      ],
      name: "setGreeting",
      outputs: [],
      payable: false,
      stateMutability: "nonpayable",
      type: "function",
    },
  ],
  bytecode:
    "0x608060405234801561001057600080fd5b506040516105b63803806105b68339818101604052602081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b8382019150602082018581111561006957600080fd5b825186600182028301116401000000008211171561008657600080fd5b8083526020830192505050908051906020019080838360005b838110156100ba57808201518184015260208101905061009f565b50505050905090810190601f1680156100e75780820380516001836020036101000a031916815260200191505b506040525050506040518060400160405280600281526020017f486900000000000000000000000000000000000000000000000000000000000081525060009080519060200190610139929190610157565b508060009080519060200190610150929190610157565b50506101fc565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061019857805160ff19168380011785556101c6565b828001600101855582156101c6579182015b828111156101c55782518255916020019190600101906101aa565b5b5090506101d391906101d7565b5090565b6101f991905b808211156101f55760008160009055506001016101dd565b5090565b90565b6103ab8061020b6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a41368621461003b578063cfae3217146100f6575b600080fd5b6100f46004803603602081101561005157600080fd5b810190808035906020019064010000000081111561006e57600080fd5b82018360208201111561008057600080fd5b803590602001918460018302840111640100000000831117156100a257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610179565b005b6100fe61022f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561013e578082015181840152602081019050610123565b50505050905090810190601f16801561016b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b806000908051906020019061018f9291906102d1565b507f751929b70872b28ade86117c978600b8960752da51e1d7da2f9a89d0f52f5ae4816040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f25780820151818401526020810190506101d7565b50505050905090810190601f16801561021f5780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102c75780601f1061029c576101008083540402835291602001916102c7565b820191906000526020600020905b8154815290600101906020018083116102aa57829003601f168201915b5050505050905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061031257805160ff1916838001178555610340565b82800160010185558215610340579182015b8281111561033f578251825591602001919060010190610324565b5b50905061034d9190610351565b5090565b61037391905b8082111561036f576000816000905550600101610357565b5090565b9056fea265627a7a723158202182c0aa03b0cbc7ebfe5f3b6a4eb2d1102d05ad7f3940c7c3cbb1fe44f09fc364736f6c634300050f0032",
  deployedBytecode:
    "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063a41368621461003b578063cfae3217146100f6575b600080fd5b6100f46004803603602081101561005157600080fd5b810190808035906020019064010000000081111561006e57600080fd5b82018360208201111561008057600080fd5b803590602001918460018302840111640100000000831117156100a257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610179565b005b6100fe61022f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561013e578082015181840152602081019050610123565b50505050905090810190601f16801561016b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b806000908051906020019061018f9291906102d1565b507f751929b70872b28ade86117c978600b8960752da51e1d7da2f9a89d0f52f5ae4816040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f25780820151818401526020810190506101d7565b50505050905090810190601f16801561021f5780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102c75780601f1061029c576101008083540402835291602001916102c7565b820191906000526020600020905b8154815290600101906020018083116102aa57829003601f168201915b5050505050905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061031257805160ff1916838001178555610340565b82800160010185558215610340579182015b8281111561033f578251825591602001919060010190610324565b5b50905061034d9190610351565b5090565b61037391905b8082111561036f576000816000905550600101610357565b5090565b9056fea265627a7a723158202182c0aa03b0cbc7ebfe5f3b6a4eb2d1102d05ad7f3940c7c3cbb1fe44f09fc364736f6c634300050f0032",
  linkReferences: {},
  deployedLinkReferences: {},
};
